草庐IT

C++ Qt 窗口定位

全部标签

c - 是否可以在没有消息循环的情况下运行窗口应用程序

我有一个非常古老的应用程序,我很惊讶。此应用程序在没有消息循环的情况下运行。(GetMessage或PeekMessage)。这怎么可能?来自VisualStudio的编辑示例:HINSTANCEg_hInstance=NULL;LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);BOOLInitInstance(HINSTANCEhInstance,intnCmdShow);ATOM_RegisterClass(HINSTANCEhInstance);intAPIENTRYWinMain(HIN

python - 仅针对某些应用程序使用 winAPI BitBlt 捕获窗口时出现问题

我整理了一个简单的python脚本,该脚本应该截取名称包含特定字符串的窗口的屏幕截图。我使用的代码如下,importwin32gui,win32ui,win32conimportPIL.ImagedefgetWindowHandle(name):windowList=[]win32gui.EnumWindows(lambdahwnd,wndList:wndList.append((win32gui.GetWindowText(hwnd),hwnd)),windowList)forpairinwindowList:ifnameinpair[0]:returnpair[1]returnNo

c++ - 如何使用另一个 DLL 为 Qt 制作第三方插件?

免责声明:在Linux上一切正常。在Windows上,我最近从MinGW更改为MSVC2012,因为我无法正确读取MP3(请参阅MaketheWMFplugincompilewithMinGW.)在我的项目中,我有:核心(DLL)另一个使用Core构建的DLL媒体播放器(Qt应用程序,同时使用DLL和加载插件)为了让我的项目跨平台,我还将Windows特定功能(progressbar,thumbnailbuttons)提取到第3方插件中。事实上,我开始编写一个插件管理器,它在运行时加载/卸载插件并且无需重新启动应用程序,它工作正常。但是自从我切换到MSVC之后,我就不能再构建我的插件了

windows - 如何使 Eiffel Vision2 窗口始终位于顶部?

我创建了一个带有动画的Vision2小窗口。在我的Windows7环境中,我希望此动画始终显示在我桌面上所有其他窗口的顶部。我能够定期调用raise以将Vision2窗口置于前面-但我这样做会失去对所选窗口的关注。总结一下:问题1:是否有可能使用Vision2使一个窗口“始终位于所有其他窗口的顶部”?问题2:是否可以使用EiffelWEL(和Windows7)来实现? 最佳答案 一般来说,就Windows而言,无法保证一个窗口位于所有其他窗口之上,因为如果您有2个具有此属性的窗口,那么其中一个将位于另一个窗口之上。正如您将在下面的帖

c# - 窗口样式和使用控件(C# 和 WPF)

我正在使用VisualStudio2013创建我的应用程序。我4年前开始学习编程,现在我想提高我的程序员经验。最近几天我不得不创建一个简单的应用程序,但我不想使用默认的窗口样式。所以我读到我可以为我的窗口创建一个样式。我做到了,它工作正常,但有一个小问题:我现在不能在我的窗口中放置任何东西......我放入网格,窗口标签中的所有控件都不可见,但编译器不可见'显示任何问题。这是样式代码,然后是我的WindowXAMLCostoUnitario_◘X还有我的WindowsXaml:Hello!这应该是一个无边框窗口,我可以在中央网格中放置控件。这是现在的窗口屏幕:ScreenoftheWi

c++ - 替换 sleep 直到桌面上的窗口打开

当我打开一些软件应用程序时,我必须等待2-3秒,直到窗口显示在桌面上。我必须使用Sleep(2000);然后调用方法setalwaysontop。我正在尝试在我的代码中替换Sleep。我想从打开的窗口获取信号,然后调用一个方法,使打开的窗口始终位于最前面。这是我的代码:BOOLCALLBACKEnumWindowsProc(HWNDwindowHandle,LPARAMlParam){DWORDsearchedProcessId=(DWORD)lParam;DWORDwindowProcessId=0;GetWindowThreadProcessId(windowHandle,&win

c# - 模态样式的 Ookii.Dialogs ProgressDialog 在完成后不会聚焦所有者窗口

我正在使用Ookii.Dialogs.Wpf.ProgressDialog(有关二进制文件和源代码,请参阅http://www.ookii.org/software/dialogs/)来可视化某个过程。它是BackgroundWorker和对WindowsXP+集成ProgressDialog的nativeAPI调用的组合。我正在使用这样的对话框:this.worker=newProgressDialog{ShowTimeRemaining=true};this.model.BackgroundWorker=this.worker;this.worker.DoWork+=(s,ev)=

windows - 跟踪移动的桌面窗口 WinApi

我正在尝试跟踪移动的桌面应用程序窗口,以便我可以平移相应的透明覆盖窗口。目前,我使用SetWinEventHookHookEVENT_SYSTEM_MOVESIZEEND事件。在我的回调中,我使用目标应用程序窗口的新位置更新了我的叠加层的位置。这行得通,但这意味着在用户放开目标窗口的标题栏后,我的叠加层会跳来跳去。我希望我的叠加层能够在移动时跟踪目标窗口,而不是在它移动之后。我能想到的唯一方法是同时HookEVENT_SYSTEM_MOVESIZESTART事件。当START事件触发时,生成一个新线程来轮询目标窗口位置并更新我的覆盖位置。然后,当END事件触发时,终止轮询线程。这是一种

c# - 如何在单击鼠标的应用程序中找到控件的窗口句柄

我正在编写一个C#应用程序。我正在寻找一种方法,只需提供鼠标单击的坐标(或任何坐标)即可在其他应用程序中找到控件的窗口句柄。示例:在我的桌面上,我打开了计算器应用程序、打开了记事本并运行了一些其他第3方应用程序。屏幕被他们每个人部分覆盖。现在,如果我运行我的应用程序并单击屏幕上的任何位置,我希望能够找出鼠标下控件(按钮、文本框、标签、选项卡、框架等)的窗口句柄,无论是否它是在计算器中的按钮、记事本中的文件菜单或第3方应用程序中的某些其他控件上单击的。它类似于我们从Spy++获得的功能。 最佳答案 顺便说一句,这有alreadybee

windows - 如何捕获由另一个 cmd 窗口生成的 cmd 窗口的输出?

第一个cmd窗口:hg.exe(Mercurial)必须“以管理员身份运行”(与pageant.exe通信时的一个怪癖——排除了版本和防火墙问题),因此为自己生成一个新的cmd窗口。第二个cmd窗口:但对于适时的屏幕截图,似乎无法捕获第二个cmd窗口的详细输出,因为它是transient的,并且会在hg.exe终止。我已经尝试过以下方法:管道到clip:hgpushssh://hg@bitbucket.org/slaiyer/hellwrld|剪辑重定向到文件:hgpushssh://hg@bitbucket.org/slaiyer/hellwrld>D:\log.txtcmd/k开关